草庐IT

TypeScript 命名空间

全部标签

javascript - gulp typescript 时出现 TypeError

执行Typescript转译时出现以下错误:TypeError:file.isSymbolicisnotafunctionatDestroyableTransform.normalize[as_transform](D:\project\node_modules\vinyl-fs\lib\dest\prepare.js:31:15)atDestroyableTransform.Transform._read(D:\project\node_modules\vinyl-fs\node_modules\readable-stream\lib\_stream_transform.js:182

javascript - 是否有任何 Typescript 表达式 `A` 使得 `A` 的真实性与 `!!A` 不同?

在Javascript中,几乎所有表达式(所有表达式?)都有一个“真实性”值。如果您将表达式放在需要bool值的语句中,它将计算为bool值等价物。例如:leta='foo'if(a){console.log('aistruthy!');}//Willprint'aistruthy!'.在某些工作场所,通常会通过两次取反将这种情况下的表达式强制转换为实际的bool值:leta='foo'if(!!a){console.log('aistruthy!');}//Willprint'aistruthy!'.我的问题:这仅仅是风格问题吗?是否纯粹是为了与阅读代码的人交流,我们真正认识到a不是

javascript - TypeScript 有 NaN 类型吗?

这个问题在这里已经有了答案:Integer(literal)uniontype,withNaNasvalidreturnvalue(2个答案)关闭4年前。TypeScript是否有我可以为变量声明的NaN类型?例如,如果我要创建一个这样的变量:constnumber:number=parseInt('123',10);我可以把它改得更准确吗,像这样:constnumber:number|NaN=parseInt('123',10);基本上我想知道我是否可以将变量声明为NaN类型(不是未定义或null)。上面的代码片段在TypeScript中不起作用,我无法在TypeScript指南的基

javascript - Typescript 3 Angular 7 StopPropagation 和 PreventDefault 不起作用

我在一个div中有一个文本输入。单击输入应将其设置为焦点并停止div单击事件的冒泡。我在文本输入事件上尝试了stopPropagation和preventDefault但无济于事。控制台日志显示无论如何,divclick仍然执行。如何停止div点击事件的执行?//html//component@ViewChild('inputBox')inputBox:ElementRef;divClick(){console.log('clickinsidediv');}fireEvent(e){this.inputBox.nativeElement.focus();e.stopPropagatio

javascript - Firefox 扩展如何最好地避免污染全局命名空间?

在为Firefox开发扩展时,我一直在研究全局命名空间污染,我想在我的扩展中尽可能避免它。有几种解决方案,但一般来说,这些解决方案似乎只为您的扩展声明一个全局变量,并将所有内容放入其中。因此,您只需向全局命名空间添加一个额外的变量,这还算不错。顺便说一句,有人向我提出了一个解决方案,可以避免将任何额外变量放入全局命名空间;将所有内容包装在一个函数中。这里的问题是在您的XUL覆盖层中没有任何东西可以引用。您必须在叠加层中声明元素,然后在JS中添加大量的addEventListener来替换像oncommand="..."这样的东西在XUL中。我不想这样做;我绝对希望我的XUL在XUL本身

javascript - CSS 样式属性名称——从常规版本到 JS 属性驼峰命名版本,反之亦然

是否有获取相应名称的规定?我正在编写的函数必须通过element.style[propnameCamelCase]设置样式并通过document.defaultView.getComputedStyle(element,'')检索现有的渲染值.getPropertyValue(propname-regular),我很难证明必须将两个单独但语义相同的参数传递给此函数。我知道对于它们中的大多数来说,这是一个相当简单的转录,在驼峰式和连字符分隔之间用相同的词分隔,所以我可以使用正则表达式来转换它们。但也许有一些不是这样的?我很难弄清楚如何使用正则表达式处理驼峰式大小写的大写字母。编辑:啊,我

javascript - 在 JavaScript 中分配给变量时使用命名函数的目的是什么?

我最近在https://github.com/yeoman/generator-webapp的源代码中发现了这种模式:AppGenerator.prototype.packageJSON=functionpackageJSON(){this.template('_package.json','package.json');};无论如何,当您要将其分配给变量或对象属性时,将函数命名为“packageJSON”的目的是什么?我一直在类似情况下使用匿名函数。 最佳答案 用于调试目的。如果您使用命名函数,您可以在您最喜欢的开发工具中的调用堆

javascript - TypeScript 和 Html2Canvas?

有谁知道Html2Canvas库是否有可用的TypeScript定义文件(d.ts)?Html2Canvas是一个很棒的库,可以使用JavaScript截取浏览器的屏幕截图。参见https://github.com/niklasvh/html2canvas了解更多详情。 最佳答案 从1.0.0-rc.2版本开始,类型被添加到npm中的html2canvas包中。所以如果你安装它使用npmihtml2canvas@1.0.0-rc.2或者安装更高版本,你可以使用html2canvaswithtypescript。

javascript - 使用 Typescript 延迟加载模式

因此,对于C#和其他具有属性获取和设置评估程序的语言,构建延迟加载模式非常简单。我最近才开始使用TypeScript,并且我正在尝试实现相同的目标。我正在通过Ajax调用加载具有大部分属性的Poco。问题可以描述如下:exportinterfaceIDeferredObject{HasLoaded:boolean;DeferredURI:string;}exportclassLibrary{LibraryName:string;Books:IDeferredObject;}exportclassBook{Title:string;UniqueNumber:number;}window.

javascript - Angular 过滤器 + typescript

我有一个非常简单的Angular过滤器。这个过滤器接受一个枚举成员的输入(这里称为XEnum)并返回代表枚举成员的字符串:moduleFilters{"usestrict";exportfunctionXEnumToStringFilter(){return(input:XEnum)=>{returnXEnum[input];}}}[...]moduleModel{exportenumXEnum{Started=0,Stopped=1}}[...]app.filter("xEnumToStringFilter",[Filters.XEnumToStringFilter]);当我在我的V